package cn.tedu.store.commons.pojo.product.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class SpuUpdateDTO implements Serializable {

    /**
     * 类别id
     */
    @ApiModelProperty(value = "类别id", dataType = "long")
    private Long categoryId;

    /**
     * SPU名称
     */
    @ApiModelProperty(value = "SPU名称")
    private String name;

    /**
     * 品牌id
     */
    @ApiModelProperty(value = "品牌id", dataType = "long")
    private Long brandId;

    /**
     * 属性模板id
     */
    @ApiModelProperty(value = "属性模板id", dataType = "long")
    private Long attributeTemplateId;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    private String title;

    /**
     * 简介
     */
    @ApiModelProperty(value = "简介")
    private String description;

    /**
     *赠送的成长值
     */
    @ApiModelProperty(value = "赠送的成长值")
    private Integer giftGrowth;

    /**
     * 赠送的积分值
     */
    @ApiModelProperty(value = "赠送的积分值")
    private Integer giftPoint;

    /**
     * 可用使用积分抵扣的值
     */
    @ApiModelProperty(value = "可用使用积分抵扣的值")
    private Integer limitPoint;

    /**
     * 是否上架（发布）
     */
    @ApiModelProperty(value = "是否上架（发布），1=已上架，0=未上架（下架）")
    private Integer published;

    /**
     * 是否已审核
     */
    @ApiModelProperty(value = "是否已审核，1=已审核，0=未审核")
    private Integer checked;

    /**
     * SPU编号
     */
    @ApiModelProperty(value = "SPU编号")
    private String typeNumber;

    /**
     * 是否推荐
     */
    @ApiModelProperty(value = "是否推荐，1=推荐，0=不推荐")
    private Integer recommend;

    /**
     * 是否新品
     */
    @ApiModelProperty(value = "是否新品，1=新品，0=非新品")
    private Integer newArrival;

    /**
     * 是否标记为删除
     */
    @ApiModelProperty(value = "是否标记为删除，1=已删除，0=未删除")
    private Integer deleted;

    /**
     * 促销开始时间
     */
    @ApiModelProperty(value = "促销开始时间")
    private LocalDateTime promotionStartTime;

    /**
     * 促销结束时间
     */
    @ApiModelProperty(value = "促销结束时间")
    private LocalDateTime promotionEndTime;

    /**
     * 活动限购数量
     */
    @ApiModelProperty(value = "活动限购数量")
    private LocalDateTime promotionPerLimit;

    /**
     * 促销类型 0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购'
     */
    @ApiModelProperty(value = "促销类型 0->没有促销使用原价")
    private LocalDateTime promotionType;

    @ApiModelProperty(value = "排序序号")
    @Range(min = 1,max = 255,message = "必须在[1,255]区间内")
    private Integer sort;

    /**
     * SPU的详情
     */
    @ApiModelProperty(value = "SPU的详情")
    private String detail;

}
